package com.flysky.dao.finance;

import java.util.HashMap;
import java.util.List;

import com.flysky.model.finance.BigTypeHbmModel;
import com.flysky.model.finance.FinanceHbmModel;
import com.flysky.model.finance.SmallTypeHbmModel;

public interface IFinanceDao {

	public List<BigTypeHbmModel> getAllFinanceBigType();
	
	public List<SmallTypeHbmModel> getAllFinanceSmallType();
	
	public BigTypeHbmModel addFinanceBigType(BigTypeHbmModel bigType);
	
	public SmallTypeHbmModel addFinanceSmallType(SmallTypeHbmModel smallType);
	
	public void deleteFinanceBigType(BigTypeHbmModel bigType);
	
	public void deleteFianceSmallType(SmallTypeHbmModel smallType);
	
	public BigTypeHbmModel getFinanceBigType(int type_id);
	
	public SmallTypeHbmModel getFinanceSmallType(int type_id);
	
	public FinanceHbmModel addFinance(FinanceHbmModel financeModel);
	
	/**
	 * get finances based user and date
	 * @param param
	 * ----key----value
	 * ---START-------
	 * ---END---------
	 * ---MAKER-------
	 * @return
	 */
	public List<FinanceHbmModel> getAllMatchedFinances(HashMap<String,String> param);
	/**
	 * get finance counts
	 * @param param
	 * ----key----value
	 * ---START-------
	 * ---END---------
	 * ---MAKER-------
	 * @return
	 */
	public Long countAllMatchFinances(HashMap<String,String> param);
}
